package net.cyl.service;

import net.cyl.controller.request.ShortLinkAddRequest;
import net.cyl.controller.request.ShortLinkDelRequest;
import net.cyl.controller.request.ShortLinkPageRequest;
import net.cyl.controller.request.ShortLinkUpdateRequest;
import net.cyl.model.EventMessage;
import net.cyl.model.ShortLinkDO;
import com.baomidou.mybatisplus.extension.service.IService;
import net.cyl.util.JsonData;
import net.cyl.vo.ShortLinkVO;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 曹玉林
 * @since 2025-05-14
 */
public interface ShortLinkService extends IService<ShortLinkDO> {

    ShortLinkVO parseShortLinkByCode(String shortLinkCode);

    JsonData createShortLink(ShortLinkAddRequest request);

    boolean handleAddShortLink(EventMessage eventMessage);

    boolean handleDelShortLink(EventMessage eventMessage);

    boolean handleUpdateShortLink(EventMessage eventMessage);



    Map<String, Object> pageByGroupId(ShortLinkPageRequest request);

    JsonData deleteShortLink(ShortLinkDelRequest request);

    JsonData updateShortLink(ShortLinkUpdateRequest request);
}
